#include "quote.h"

using namespace std;

// 计算并打印销售给定数量的某种书籍所得的费用
double print_total(ostream &os, const Quote &item, size_t n)
{
    // 根据传入 item 形参的对象类型调用 Quote::net_price 或者 Bulk_quote::net_price
    double ret = item.net_price(n);
    os << "ISBN: " << item.isbn()
       << " # sold: " << n << " total due: " << ret << endl;
    return ret;
}

// 如果达到了购买书籍的某个最低限量值,就可以享受折扣价格了
double Bulk_quote::net_price(std::size_t cnt) const
{
    if (cnt > min_qty) {
        return cnt * (1 - discount) * price;
    } else {
        return cnt * price;
    }
}
